<template></template>

<script lang="ts">
/*
  计算属性：
    - 只读
      computed: {
        xxx() {}
      }
    - 可读可写
      computed: {
        xxx: {
          get() {},
          set() {}
        }
      }
    特点：
      1. 有缓存 （一旦依赖的响应式数据发生变化，才会重新计算）
      2. 一定会依赖一个或多个响应式数据
      3. 一定有返回值
  
  监视属性
    xxx(newVal, oldVal) {}

    xxx: {
      handler(newVal, oldVal) {},
      deep: true, // 深度监视
      immediate: true // 立即监视（让监视属性初始化渲染时就触发一次）
    }
    
    特点：
      1. 监视某个响应式数据
      2. 不需要返回值

  面试问题：watch和computed的区别？
    1. 监视属性可以进行异步操作，计算属性不行（get不行，set行）
    2. 计算属性有缓存，监视视属性没有
    3. 计算属性一定有返回值，监视属性没有（监视属性的返回值没有意义）
*/
export default {
  name: "App",
  computed: {},
  watch: {},
};
</script>

<style scoped></style>
